# __str__ 方法用于定义类对象的字符串表示。
# 当你使用 print() 函数或 str() 函数来打印对象时，__str__ 方法会被自动调用。
class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def __str__(self):
        return f"Student类对象，name:{self.name},age:{self.age}"
    # 可读性：__str__方法应该返回一个易于阅读和理解的字符串，通常用于向用户展示对象的信息。
    # 格式化输出：通过返回格式化的字符串，可以直观地展示对象的状态或内容
    def __lt__(self, other):
        return self.age < other.age
    # __lt__用于2个类对象进行小于或大于比较
    # 这个方法比较两个 Student 对象的年龄 (self.age 和 other.age)。
    # 如果当前对象的年龄小于另一个对象的年龄，则返回 True，否则返回 False。
    # 这个方法使得可以通过 < 操作符对 Student 对象进行比较。
    def __le__(self, other):
        return self.age >= other.age
    def __eq__(self, other):
        return self.age == other.age

stu1 = Student("Alice", 20)
stu2 = Student("Cliff", 25)
print(stu1)
print(str(stu1))

print(stu1 < stu2)
#__le__用于2个类对象进行小于等于或大于等于比较
print(stu1 >= stu2)#20小于等于25，所以返回false
#__eq__用于2个类对象进行相等比较
print(stu1 == stu2)